A. Field of the Invention
The present invention relates to the field of computers and, more particularly, to systems and methods for updating network adapter cards in a computing system. Network adapter cards provide computers with communications resources for communicating over a data network. After a computer user purchases a network adapter card of a particular brand or type, and installs the card in his or her computer, the manufacturer of that type of card may add functions and features to the card. For example, the manufacturer may add a network identifier to the card to enable it to operate using a specific network protocol. If the user""s network adapter card is updated, or changed to include the network address, it can also operate using the specific protocol.
B. Background of the Invention
In order for two computers or other items of digital communications equipment to exchange data over a communications medium such as a wide area computer network, both computers have to transmit and receive data in accordance with a set of standards or procedures. These standards or procedures are known as xe2x80x9cprotocols.xe2x80x9d As an example, a protocol may assign or designate specific bytes in a packet of data for containing certain information related to the transmission, such as the length of the data, address information, and control characters. Without such protocols, data would be unintelligible to the receiving computer and communication would not be possible. The establishment of protocols enables diverse equipment manufacturers to supply hardware to the public and build computer networks (such as the Internet), with the hardware and networks generally interoperable with equipment of other manufacturers.
The communication industry has standards bodies that formally adopt protocols. Other protocols are xe2x80x9cde factoxe2x80x9d industry standards, in that the early manufacturers adopt them and other companies selling similar equipment use the same techniques in order to be compatible. As technology advances new standards or protocols arc proposed by people working in the industry, typically in the form of a xe2x80x9cRequest for Commentxe2x80x9d document, also referred in the art as an RFC. Persons skilled in the art are familiar with RFC""s.
Communications equipment manufacturers provide products that enable host computer systems, such as general-purpose computers running a Windows(copyright) operating system from Microsoft Corporation, to access wide area networks such as the Internet. These products take the form of adapter cards for a computer chassis, and external devices that plug into a port on the computer. Applications such as web browsers on the host computer systems may access the communications resources on an adapter card using protocol drivers. Protocol drivers are programs that implement the procedures specified by protocols. The protocol drivers use standard driver interfaces in the operating system to access the communications functions provided by the adapter cards.
In general, communications equipment providers in the communications industry develop protocols in accordance with the Open System Interconnection (xe2x80x9cOSIxe2x80x9d) model is used to describe computer networks. The OSI model consists of seven layers of functions ranging from the physical later at the lowest level, to the application and presentation layer at the highest level. Each layer in a typical network connection may involve functions implemented by one or more protocols.
Communications equipment providers are continuously improving the performance and functional capability of data networks. Such providers may make system-level improvements that arise from the development of entire systems that may implement new protocols at various layers of the OSI model. The implementation of system-level improvements in general-purpose computers may require the use of a new type of adapter card. For example, the development of the Asynchronous Transfer Mode (ATM) over Asynchronous Digital Subscriber Line (ADSL) has led to faster network access for users of general-purpose computers that have an ATM/ADSL adapter card.
Communications equipment providers may also make lower-level improvements to the performance of data networks by improving the software and/or hardware components at one or more layers of the OSI model. Such lower-level improvements may result in changes to existing protocols in the form of new versions of a particular protocol. For example, improvements to the Internet Protocol are reflected in the implementations of IPv4 (Internet Protocol Version 4), IPv5 (Internet Protocol Version 5) and IPv6 (Internet Protocol Version 6).
Lower-level improvements may also result in new protocols. For example, the IPX (Internet Protocol exchange) protocol is a local area network (LAN) communications protocol that is used to move data between a server and/or workstation programs running on different network nodes. IPX defines IPX packets, which are encapsulated and carried by Ethernet or Token-Ring packets or frames being communicated over the local area network.
Lower-level improvements may also result in new interfaces to augment functions performed by one or more protocols. For example, the Interim Link Management Interface (ILMI) is an interim specification defined by the ATM Forum, an industry group for ATM systems. The ILMI incorporates functions that perform a limited subset of the SNMP to provide network management functions between an end user and a public or private network and between a public network and a private network when communicating using ATM.
The situation may arise in which a communications equipment provider may be required to change or update an adapter card to support a lower-level improvement, or even another protocol. In such a situation, new adapter cards may be fully functional in that they support all functions available after the improvements are made. However, users of existing adapter cards in the field would not be able to implement the new functions resulting from the improvements without replacing the adapter card. It would be burdensome and expensive to require a user to replace the adapter card. Moreover, if an update is needed to correct a problem or defect, the manufacturer may have to absorb the cost. If the product is a card that has sold successfully, a large number of cards may need to be replaced.
It would be desirable to be able to update or change an adapter card to provide users with the advantages of improvements in network performance or functional capability without requiring that the adapter card be replaced. One alternative to replacing the adapter card that communications equipment providers may use includes having users return the adapter card to the provider for an upgrade. The provider modifies the adapter card to include the update and then sends the adapter card back to the user. However, requiring the user to return the adapter card for the upgrade also requires the user to surrender the use of the adapter card for a substantial amount of time.
Solutions for updating an adapter card that is already in the field in which the change is made by the communications equipment provider may appear more burdensome when the change is relatively minor. The improvements in network performance and functional capability may require the addition or the change in a data element stored in non-volatile memory on the adapter card. Such minor changes to the adapter card may be made using utilities that the provider may send to the user. Where the utilities require user input to complete the changes, however, the success of the utilities depends on the accuracy of the user input. For example, the improvements in the network performance and functional capability may require that the adapter card be assigned a Media Access Control (MAC) address, which must be unique to avoid conflicts in communications over the network. In the utility for updating the adapter card, the communications equipment provider may require the user to input the MAC address from the keyboard. If the user input is made with a typographical error, the adapter card may be provided with a non-unique MAC address.
It would be desirable to be able to update or change an adapter card to provide users with the advantages of improvements in network performance or functional capability without requiring any input from the user.
The present invention addresses the problems above by providing a system in which a user connects a host computer to a Web server that determines whether the adapter card used to connect to the Web server has a MAC address. If it does not, a valid MAC address is generated and used to update the adapter card on the host computer.
In view of the above, a method is provided for updating a network adapter card in a computer system to include a media access control address. The method establishes a connection between the computer system and a remote server. A request is received from the remote server for a serial number assigned to the network adapter card. The serial number of the network adapter card is sent to the remote server. The remote server searches for the media access control address corresponding to the serial number of the network adapter card in a media access control address list. The media access control address is sent to the computer system. The media access control address is stored in the network adapter card.
In another aspect of the present invention, a system is provided for updating a network adapter card in a computer system to include a media access control address. The system includes a communications application operable to issue commands to the adapter driver to establish a network connection over a data network to a remote server. The remote server has a media access control address list from which the remote server retrieves the media access control address. The remote server sends the media access control address to the computer system over the network connection.
An address search program in the computer system determines whether the network adapter card includes a media access control address in the non-volatile memory. A communications application receives the media access control address from the remote server. An address update program stores the media access control address in the non-volatile memory.
In yet a further aspect of the present invention, an improved network adapter card is provided in a computer system for providing a network connection to a data network. The network adapter card includes a non-volatile memory. The improvement has an address search program operable to determine whether the network adapter card includes a media access control address in the non-volatile memory. A communications application connects to a remote server having a media access control address list. The remote server retrieves the media access control address from the media access control address list and sends the media access control address to the computer system over the network connection. The communications application receives the media access control address. An address update program stores the media access control address in the non-volatile memory.